package array;
import java.util.Arrays;

public class TwoDimensionalArray {
    public static void main(String[] args) {
        // 1. 创建二维数组
        int[][] matrix = new int[3][3]; // 3行3列的二维数组

        // 2. 初始化二维数组
        int[][] numbers = {
                {1, 2, 3},
                {4, 5, 6},
                {7, 8, 9}
        };

        // 3. 不规则二维数组（每行长度可以不同）
        int[][] irregular = new int[3][];
        irregular[0] = new int[2]; // 第一行2个元素
        irregular[1] = new int[4]; // 第二行4个元素
        irregular[2] = new int[3]; // 第三行3个元素

        // 4. 遍历二维数组
        System.out.println("遍历numbers数组:");
        for (int i = 0; i < numbers.length; i++) { // 行循环
            for (int j = 0; j < numbers[i].length; j++) { // 列循环
                System.out.print(numbers[i][j] + " ");
            }
            System.out.println(); // 换行
        }

        // 5. 使用增强型for循环遍历
        System.out.println("\n使用增强型for循环:");
        for (int[] row : numbers) {
            for (int num : row) {
                System.out.print(num + " ");
            }
            System.out.println();
        }

        // 6. 二维数组的长度
        System.out.println("\n二维数组行数: " + numbers.length);
        System.out.println("第一行元素数: " + numbers[0].length);

        // 7. 二维数组转字符串
        System.out.println("\n二维数组字符串表示:");
        System.out.println(Arrays.deepToString(numbers));
    }
}
